package com.naiterui.ehp.bs.consult.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.naiterui.ehp.bp.bo.patient.PatientInquirerBO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author gaoliangliang
 * @date 2022-07-05 10:31
 **/
@Builder
@Data
@ApiModel("会诊申请信息")
public class GroupConsultApplyVO {

    @ApiModelProperty(value = "视频问诊id")
    private Long videoConsultId;

    @ApiModelProperty(value = "房间号")
    private Integer roomId;

    @ApiModelProperty(value = "医生ID")
    private Long doctorId;

    @ApiModelProperty(value = "患者ID")
    private Long patientId;

    @ApiModelProperty(value = "就诊人信息")
    private PatientInquirerBO inquirerInfo;

    @ApiModelProperty(value = "就诊人id")
    private Long inquirerId;

    @ApiModelProperty(value = "就诊人姓名")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String inquirerName;

    @ApiModelProperty(value = "就诊人年龄")
    private String inquirerAgeStr;

    @ApiModelProperty(value = "性别")
    private Integer inquirerGender;

    @ApiModelProperty(value = "会诊申请日期时间：2022-07-05")
    private String groupConsultDate;

    @ApiModelProperty(value = "会诊申请开始时间：11:00")
    private String groupConsultTimeStart;

    @ApiModelProperty(value = "会诊申请结束时间：13:00")
    private String groupConsultTimeEnd;

    @ApiModelProperty(value = "会诊状态，1：会诊待开始(可修改会诊时间)，2：受邀方总结，3：发起方总结，4：会诊完成")
    private Integer groupConsultStatus;

    @ApiModelProperty(value = "会诊原由")
    private String groupConsultReason;

    @ApiModelProperty(value = "受邀方医生")
    private String targetDoctor;

    @ApiModelProperty(value = "受邀方医生ID")
    private Long targetDoctorId;

    @ApiModelProperty(value = "发起方医生")
    private String sourceDoctor;

    @ApiModelProperty(value = "科室名称")
    private String departmentName;

    @ApiModelProperty(value = "受邀方医院名称")
    private String targetHospitalName;

    @ApiModelProperty(value = "受邀方医生列表")
    private List<DoctorInfo> targetDoctorList;

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    public static class DoctorInfo {
        private Long id;
        private String name;
        private String phone;
    }
}
